#!/usr/bin/env bash

# FileName      : back_confluence.sh
# Last-modified : 2023-11-09 08:12
# Author        : jack.zang

## 备份附件
scp 192.168.10.226:/var/atlassian/application-data/confluence/backups/backup-`date -d yesterday +"%Y_%m_%d"`.zip /data2/backup/jhhl/confluence/data/
n=$(find /data2/backup/jhhl/confluence/data -type f -name backup-`date -d yesterday +"%Y_%m_%d"`.zip -mtime -1 | wc -l)
if [ "$n" == 1 ];then
   echo "Confluence 数据备份成功"
else
   echo "Confluence 数据备份失败"
   exit 1;
fi

## 备份数据库
mysqldump -h192.168.10.226 -P 3306 -u root -pxxxx --databases confluence > /data2/backup/xxxx/confluence/mysql/10.226-3306-confluence-`date "+%Y-%m-%d-%H-%M-%S"`.sql

function DelFile() {
  DelDir=$1  # 要删除文件的目录
  RetentionNum=$2  # 保留的文件个数
  ##----------------
  RNum=$((RetentionNum + 1))

  FileNum=$(find "$DelDir" -type f | wc -l)
  if [ "$FileNum" -gt "$RetentionNum" ];then
      echo "删除最近 $RetentionNum 个之外的文件"
      ls -t "$DelDir" | tail -n +"${RNum}" | xargs -I {} rm "${DelDir}"/{}
  elif [ "$FileNum" -le "$RetentionNum" ];then
      echo "目前保留文件为：$FileNum 个，不需要删除"
  else
      echo "命令执行错误，请检查"
      exit 1;
  fi
}

## 删除多余的备份文件
DelFile "/data2/backup/jhhl/confluence/data" 30
DelFile "/data2/backup/jhhl/confluence/mysql" 30

